[IA64] get_pfn_list workaround
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Mon, 10 Apr 2006 21:13:42 +0000 (15:13 -0600)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Mon, 10 Apr 2006 21:13:42 +0000 (15:13 -0600)
commit80dbec3f0e1e0724d710bc9c7d0294a80a2b75eb
tree9bcfea028f3aae2de5d08659bce3674b52c0ca9a
parent66a41f0160f3b84769b862b81993142bba2b21af
[IA64] get_pfn_list workaround

As we know, the mechanism for hypervisor to pass parameter through pointer
is not complete. Hypervisor use copy_from/to_user functions to copy parameter
to hypervisor and copy result to user, if there is a tlb miss happening and
hypervisor can't handled this. This hypercall fails, there is no mechanism to
handle this failure, that may cause domain crash. Get_pfn_list hypercall copy
large data from hypervisor to user, it is easy to trigger this issue when
creating VTI-domain.

If fails, Get_pfn_list returns the number of pfn entries, and this patch will
Dummy access parameter memory block to cause this tlb mapping tracked by
Hypervisor, then continue to do get_pfn_list.

It's a workaround before we design a new mechanism of passing parameter thr
pointer.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
tools/libxc/xc_ia64_stubs.c